/**
 * 377.组合总和IV
 */
public class Exerciser11 {
    // 这个题应该叫 排序总和 ，因为这里的示例是有序的
    // 而组合是无序的，只存在一个
    // 比如：112,121,211 这是排序
    // 112 在组合中只存在一个
    public int combinationSum4(int[] nums, int target) {
        // 不是组合的话，这个题就不是 背包问题了，只是一个dp问题
        int n = nums.length;
        int[] dp = new int[target + 1];
        dp[0] = 1;
        for(int i = 1;i <= target;i++) {
            for(int j = 0;j < n;j++) {
                if(i >= nums[j]) {
                    dp[i] += dp[i - nums[j]];
                }
            }
        }
        return dp[target];
    }
}
